
#line 1 "libflux/src/flux/scanner/scanner.rl"
#include "scanner.h"


#line 144 "libflux/src/flux/scanner/scanner.rl"



#line 11 "libflux/scanner.c"
static const char _flux_actions[] = {
	0, 1, 0, 1, 1, 1, 3, 1, 
	4, 1, 7, 1, 9, 1, 10, 1, 
	11, 1, 12, 1, 13, 1, 14, 1, 
	36, 1, 37, 1, 38, 1, 39, 1, 
	40, 1, 41, 1, 42, 1, 43, 1, 
	44, 1, 45, 1, 46, 1, 47, 1, 
	48, 1, 49, 1, 50, 1, 51, 1, 
	52, 1, 53, 1, 54, 1, 55, 1, 
	56, 1, 57, 1, 58, 1, 59, 1, 
	61, 1, 62, 1, 63, 1, 64, 1, 
	65, 1, 66, 1, 67, 1, 68, 1, 
	69, 1, 70, 1, 71, 1, 72, 1, 
	73, 1, 74, 1, 75, 1, 76, 1, 
	78, 1, 79, 1, 80, 1, 81, 1, 
	82, 2, 0, 8, 2, 0, 35, 2, 
	0, 60, 2, 1, 2, 2, 4, 5, 
	2, 4, 6, 2, 4, 15, 2, 4, 
	16, 2, 4, 17, 2, 4, 18, 2, 
	4, 19, 2, 4, 20, 2, 4, 21, 
	2, 4, 22, 2, 4, 23, 2, 4, 
	24, 2, 4, 25, 2, 4, 26, 2, 
	4, 27, 2, 4, 28, 2, 4, 29, 
	2, 4, 30, 2, 4, 31, 2, 4, 
	32, 2, 4, 33, 2, 4, 34, 2, 
	4, 77, 3, 4, 0, 77
};

static const short _flux_key_offsets[] = {
	0, 0, 2, 6, 9, 16, 17, 23, 
	29, 32, 35, 39, 41, 43, 44, 46, 
	48, 50, 52, 53, 55, 57, 58, 60, 
	62, 64, 66, 67, 69, 71, 74, 83, 
	94, 95, 96, 99, 105, 105, 107, 109, 
	118, 125, 133, 134, 136, 138, 142, 147, 
	156, 160, 166, 177, 179, 181, 183, 188, 
	215, 219, 229, 244, 258, 276, 289, 305, 
	313, 329, 342, 363, 371, 385, 394, 408, 
	419, 431, 441, 450, 459, 461, 464, 485, 
	491, 492, 498, 506, 555, 560, 566, 570, 
	575, 577, 579, 581, 588, 596, 603, 606, 
	610, 614, 616, 618, 622, 626, 630, 636, 
	644, 648, 654, 656, 658, 660, 666, 670, 
	674, 676, 678, 682, 685, 689, 691, 695, 
	699, 709, 714, 728, 744, 746, 748, 764, 
	769, 771, 773, 775, 779, 783, 785, 789, 
	793, 803, 813, 814, 825, 833, 836, 839, 
	843, 847, 849, 852, 854, 854, 857, 859, 
	884, 886, 892, 897, 899, 903, 907, 909, 
	914, 916, 920, 922, 924, 926, 929, 931, 
	952, 954, 956, 958, 969, 975, 977, 979, 
	981, 983, 987, 991, 993, 995, 999, 1001, 
	1009, 1017, 1034, 1044, 1048, 1050, 1052, 1056, 
	1058, 1062, 1064, 1068, 1073, 1075, 1084, 1088, 
	1098, 1104, 1106, 1108, 1122, 1123, 1133, 1134, 
	1142, 1149, 1151, 1154, 1156, 1158, 1160, 1163, 
	1166, 1169, 1171, 1175, 1176, 1179, 1182, 1186, 
	1189, 1192, 1201, 1210, 1213, 1215, 1222, 1223, 
	1229, 1235, 1237, 1315, 1319, 1323, 1325, 1326, 
	1327, 1339, 1340, 1344, 1349, 1352, 1357, 1369, 
	1381, 1393, 1406, 1418, 1420, 1423, 1424, 1467, 
	1511, 1555, 1599, 1643, 1687, 1731, 1775, 1819, 
	1865, 1909, 1953, 1997, 2041, 2085, 2129, 2173, 
	2217, 2261, 2307, 2351, 2395, 2439, 2483, 2527, 
	2571, 2616, 2660, 2704, 2748, 2792, 2836, 2880, 
	2924, 2968, 3012, 3056, 3100, 3144, 3188, 3232, 
	3276, 3321, 3365, 3409, 3453, 3497, 3502, 3506, 
	3509, 3512, 3516
};

static const unsigned char _flux_trans_keys[] = {
	61u, 126u, 10u, 34u, 36u, 92u, 10u, 34u, 
	123u, 34u, 36u, 92u, 110u, 114u, 116u, 120u, 
	123u, 48u, 57u, 65u, 70u, 97u, 102u, 48u, 
	57u, 65u, 70u, 97u, 102u, 46u, 48u, 57u, 
	46u, 48u, 57u, 45u, 46u, 48u, 57u, 48u, 
	57u, 48u, 57u, 45u, 48u, 57u, 48u, 57u, 
	48u, 57u, 48u, 57u, 58u, 48u, 57u, 48u, 
	57u, 58u, 48u, 57u, 48u, 57u, 48u, 57u, 
	48u, 57u, 58u, 48u, 57u, 48u, 57u, 46u, 
	48u, 57u, 100u, 104u, 109u, 110u, 115u, 117u, 
	119u, 121u, 194u, 100u, 104u, 109u, 110u, 115u, 
	117u, 119u, 121u, 194u, 48u, 57u, 115u, 181u, 
	170u, 181u, 186u, 128u, 150u, 152u, 182u, 184u, 
	255u, 192u, 255u, 128u, 255u, 173u, 130u, 133u, 
	146u, 159u, 165u, 171u, 175u, 255u, 133u, 176u, 
	180u, 182u, 183u, 186u, 189u, 134u, 140u, 136u, 
	138u, 142u, 161u, 163u, 255u, 182u, 130u, 137u, 
	164u, 176u, 151u, 152u, 154u, 160u, 190u, 136u, 
	175u, 192u, 255u, 135u, 129u, 130u, 132u, 133u, 
	144u, 170u, 176u, 178u, 144u, 154u, 161u, 191u, 
	128u, 151u, 153u, 158u, 174u, 255u, 148u, 157u, 
	160u, 169u, 172u, 176u, 185u, 189u, 190u, 192u, 
	255u, 144u, 191u, 141u, 255u, 178u, 255u, 186u, 
	138u, 170u, 180u, 181u, 164u, 165u, 166u, 167u, 
	168u, 169u, 170u, 171u, 172u, 173u, 174u, 175u, 
	176u, 177u, 178u, 179u, 180u, 181u, 182u, 183u, 
	184u, 185u, 186u, 187u, 188u, 189u, 190u, 129u, 
	185u, 189u, 255u, 141u, 143u, 145u, 151u, 164u, 
	176u, 179u, 186u, 192u, 255u, 178u, 129u, 131u, 
	133u, 140u, 143u, 144u, 147u, 168u, 170u, 176u, 
	182u, 185u, 189u, 255u, 141u, 158u, 133u, 134u, 
	137u, 138u, 143u, 150u, 152u, 155u, 164u, 175u, 
	178u, 255u, 129u, 131u, 133u, 138u, 143u, 144u, 
	147u, 168u, 170u, 176u, 178u, 179u, 181u, 182u, 
	184u, 185u, 190u, 255u, 157u, 131u, 134u, 137u, 
	138u, 141u, 144u, 146u, 152u, 159u, 175u, 182u, 
	255u, 129u, 131u, 133u, 141u, 143u, 145u, 147u, 
	168u, 170u, 176u, 178u, 179u, 181u, 185u, 189u, 
	255u, 134u, 138u, 141u, 143u, 145u, 159u, 164u, 
	255u, 129u, 131u, 133u, 140u, 143u, 144u, 147u, 
	168u, 170u, 176u, 178u, 179u, 181u, 185u, 189u, 
	191u, 177u, 128u, 132u, 135u, 136u, 139u, 140u, 
	150u, 151u, 156u, 157u, 159u, 163u, 156u, 130u, 
	131u, 133u, 138u, 142u, 144u, 146u, 149u, 153u, 
	154u, 158u, 159u, 163u, 164u, 168u, 170u, 174u, 
	185u, 190u, 191u, 144u, 151u, 128u, 130u, 134u, 
	136u, 138u, 140u, 129u, 131u, 133u, 140u, 142u, 
	144u, 146u, 168u, 170u, 179u, 181u, 185u, 189u, 
	255u, 133u, 137u, 151u, 141u, 148u, 154u, 159u, 
	164u, 255u, 130u, 131u, 133u, 140u, 142u, 144u, 
	146u, 168u, 170u, 179u, 181u, 185u, 189u, 191u, 
	158u, 128u, 132u, 134u, 136u, 138u, 140u, 149u, 
	150u, 160u, 163u, 130u, 131u, 133u, 140u, 142u, 
	144u, 146u, 168u, 170u, 185u, 189u, 255u, 133u, 
	137u, 141u, 150u, 152u, 159u, 164u, 185u, 192u, 
	255u, 189u, 130u, 131u, 133u, 150u, 154u, 177u, 
	179u, 187u, 150u, 128u, 134u, 143u, 148u, 152u, 
	159u, 178u, 179u, 129u, 186u, 141u, 128u, 134u, 
	132u, 138u, 141u, 165u, 167u, 129u, 130u, 135u, 
	136u, 148u, 151u, 153u, 159u, 161u, 163u, 170u, 
	171u, 173u, 185u, 187u, 189u, 134u, 141u, 128u, 
	132u, 156u, 157u, 128u, 128u, 135u, 137u, 172u, 
	177u, 191u, 128u, 129u, 136u, 139u, 144u, 151u, 
	153u, 188u, 128u, 129u, 130u, 131u, 133u, 134u, 
	135u, 137u, 138u, 139u, 140u, 141u, 142u, 143u, 
	144u, 153u, 154u, 155u, 156u, 157u, 158u, 159u, 
	160u, 161u, 162u, 164u, 165u, 166u, 167u, 168u, 
	172u, 173u, 174u, 176u, 177u, 180u, 181u, 182u, 
	184u, 188u, 189u, 190u, 191u, 132u, 136u, 145u, 
	152u, 185u, 187u, 184u, 128u, 182u, 187u, 191u, 
	144u, 162u, 165u, 168u, 174u, 255u, 135u, 141u, 
	143u, 159u, 187u, 134u, 143u, 189u, 255u, 154u, 
	158u, 163u, 167u, 186u, 255u, 137u, 151u, 153u, 
	142u, 143u, 158u, 159u, 137u, 177u, 142u, 143u, 
	182u, 183u, 191u, 255u, 128u, 130u, 133u, 136u, 
	150u, 152u, 255u, 145u, 150u, 151u, 155u, 158u, 
	160u, 255u, 128u, 143u, 160u, 255u, 181u, 255u, 
	129u, 255u, 173u, 174u, 183u, 255u, 129u, 154u, 
	160u, 255u, 171u, 173u, 177u, 255u, 128u, 140u, 
	142u, 147u, 160u, 179u, 128u, 147u, 160u, 172u, 
	174u, 176u, 178u, 179u, 128u, 179u, 182u, 255u, 
	137u, 150u, 152u, 155u, 157u, 255u, 160u, 255u, 
	184u, 255u, 128u, 170u, 128u, 156u, 160u, 171u, 
	176u, 184u, 144u, 173u, 176u, 180u, 128u, 169u, 
	176u, 255u, 138u, 255u, 128u, 155u, 128u, 179u, 
	181u, 255u, 132u, 140u, 255u, 128u, 169u, 174u, 
	175u, 128u, 181u, 141u, 143u, 154u, 189u, 150u, 
	151u, 158u, 159u, 152u, 154u, 156u, 158u, 134u, 
	135u, 142u, 143u, 190u, 255u, 190u, 128u, 180u, 
	182u, 188u, 130u, 132u, 134u, 140u, 144u, 147u, 
	150u, 155u, 160u, 172u, 178u, 180u, 182u, 188u, 
	129u, 130u, 132u, 133u, 134u, 146u, 147u, 176u, 
	177u, 178u, 179u, 180u, 181u, 182u, 183u, 184u, 
	177u, 191u, 144u, 148u, 130u, 135u, 149u, 164u, 
	166u, 168u, 138u, 147u, 153u, 157u, 170u, 173u, 
	175u, 185u, 188u, 191u, 142u, 133u, 137u, 160u, 
	255u, 137u, 255u, 182u, 255u, 170u, 255u, 128u, 
	174u, 176u, 255u, 159u, 176u, 190u, 255u, 165u, 
	255u, 128u, 165u, 176u, 255u, 166u, 174u, 176u, 
	255u, 128u, 150u, 160u, 166u, 168u, 174u, 176u, 
	182u, 184u, 190u, 128u, 134u, 136u, 142u, 144u, 
	150u, 152u, 158u, 160u, 191u, 175u, 128u, 129u, 
	130u, 131u, 132u, 133u, 134u, 135u, 144u, 145u, 
	255u, 133u, 135u, 161u, 169u, 177u, 181u, 184u, 
	188u, 160u, 151u, 156u, 187u, 192u, 255u, 133u, 
	173u, 177u, 255u, 143u, 159u, 184u, 255u, 176u, 
	191u, 182u, 183u, 184u, 182u, 255u, 191u, 192u, 
	255u, 132u, 255u, 128u, 146u, 148u, 152u, 153u, 
	154u, 156u, 157u, 158u, 159u, 160u, 161u, 162u, 
	163u, 164u, 165u, 168u, 169u, 176u, 129u, 145u, 
	149u, 151u, 177u, 255u, 141u, 255u, 141u, 143u, 
	160u, 169u, 172u, 255u, 191u, 128u, 159u, 162u, 
	174u, 128u, 151u, 151u, 159u, 162u, 255u, 137u, 
	138u, 141u, 255u, 187u, 255u, 130u, 134u, 139u, 
	168u, 255u, 128u, 179u, 138u, 170u, 176u, 255u, 
	147u, 255u, 128u, 182u, 128u, 141u, 158u, 159u, 
	255u, 164u, 255u, 164u, 168u, 169u, 171u, 172u, 
	173u, 174u, 175u, 180u, 181u, 182u, 183u, 185u, 
	186u, 187u, 188u, 189u, 190u, 191u, 165u, 179u, 
	174u, 175u, 171u, 175u, 154u, 255u, 190u, 128u, 
	134u, 147u, 151u, 157u, 168u, 170u, 182u, 184u, 
	188u, 128u, 129u, 131u, 132u, 134u, 255u, 147u, 
	255u, 190u, 255u, 144u, 255u, 144u, 145u, 136u, 
	175u, 188u, 255u, 176u, 180u, 182u, 255u, 189u, 
	255u, 161u, 186u, 129u, 154u, 166u, 255u, 191u, 
	255u, 130u, 135u, 138u, 143u, 146u, 151u, 154u, 
	156u, 144u, 146u, 157u, 160u, 170u, 175u, 161u, 
	169u, 128u, 129u, 130u, 131u, 133u, 138u, 139u, 
	140u, 141u, 142u, 143u, 144u, 145u, 146u, 160u, 
	164u, 168u, 128u, 139u, 141u, 166u, 168u, 186u, 
	188u, 189u, 191u, 255u, 142u, 143u, 158u, 255u, 
	187u, 255u, 128u, 180u, 128u, 156u, 160u, 255u, 
	145u, 255u, 128u, 158u, 176u, 255u, 139u, 255u, 
	128u, 157u, 160u, 255u, 144u, 132u, 135u, 150u, 
	255u, 158u, 255u, 136u, 188u, 191u, 128u, 133u, 
	138u, 181u, 183u, 184u, 128u, 149u, 160u, 185u, 
	128u, 131u, 133u, 134u, 140u, 147u, 149u, 151u, 
	153u, 179u, 128u, 141u, 144u, 145u, 129u, 140u, 
	175u, 255u, 163u, 255u, 144u, 145u, 146u, 147u, 
	148u, 149u, 154u, 155u, 156u, 157u, 158u, 159u, 
	150u, 153u, 149u, 157u, 173u, 186u, 188u, 160u, 
	161u, 163u, 164u, 167u, 168u, 132u, 134u, 149u, 
	157u, 186u, 139u, 140u, 191u, 255u, 134u, 128u, 
	132u, 138u, 144u, 146u, 255u, 166u, 167u, 129u, 
	155u, 187u, 149u, 181u, 143u, 175u, 137u, 169u, 
	131u, 140u, 255u, 128u, 129u, 255u, 155u, 156u, 
	255u, 151u, 255u, 160u, 168u, 161u, 167u, 62u, 
	10u, 47u, 92u, 10u, 47u, 92u, 10u, 47u, 
	92u, 120u, 10u, 47u, 92u, 10u, 47u, 92u, 
	10u, 47u, 92u, 48u, 57u, 65u, 70u, 97u, 
	102u, 10u, 47u, 92u, 48u, 57u, 65u, 70u, 
	97u, 102u, 10u, 47u, 92u, 10u, 123u, 34u, 
	36u, 92u, 110u, 114u, 116u, 120u, 123u, 48u, 
	57u, 65u, 70u, 97u, 102u, 48u, 57u, 65u, 
	70u, 97u, 102u, 10u, 123u, 10u, 32u, 33u, 
	34u, 37u, 40u, 41u, 42u, 43u, 44u, 45u, 
	46u, 47u, 48u, 58u, 60u, 61u, 62u, 91u, 
	93u, 94u, 95u, 97u, 98u, 101u, 105u, 110u, 
	111u, 112u, 114u, 116u, 123u, 124u, 125u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 9u, 13u, 49u, 
	57u, 65u, 90u, 99u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 9u, 32u, 11u, 13u, 10u, 
	34u, 36u, 92u, 48u, 57u, 47u, 10u, 46u, 
	100u, 104u, 109u, 110u, 115u, 117u, 119u, 121u, 
	194u, 48u, 57u, 84u, 43u, 45u, 46u, 90u, 
	43u, 45u, 90u, 48u, 57u, 48u, 49u, 57u, 
	48u, 111u, 115u, 49u, 57u, 46u, 100u, 104u, 
	109u, 110u, 115u, 117u, 119u, 121u, 194u, 48u, 
	57u, 46u, 100u, 104u, 109u, 110u, 115u, 117u, 
	119u, 121u, 194u, 48u, 57u, 46u, 100u, 104u, 
	109u, 110u, 115u, 117u, 119u, 121u, 194u, 48u, 
	57u, 45u, 46u, 100u, 104u, 109u, 110u, 115u, 
	117u, 119u, 121u, 194u, 48u, 57u, 46u, 100u, 
	104u, 109u, 110u, 115u, 117u, 119u, 121u, 194u, 
	48u, 57u, 45u, 61u, 61u, 62u, 126u, 61u, 
	95u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 110u, 194u, 195u, 198u, 
	199u, 203u, 205u, 206u, 207u, 210u, 212u, 213u, 
	214u, 215u, 216u, 217u, 219u, 220u, 221u, 222u, 
	223u, 224u, 225u, 226u, 227u, 228u, 233u, 234u, 
	237u, 239u, 240u, 48u, 57u, 65u, 90u, 97u, 
	122u, 196u, 202u, 208u, 218u, 229u, 236u, 95u, 
	100u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 117u, 194u, 195u, 198u, 
	199u, 203u, 205u, 206u, 207u, 210u, 212u, 213u, 
	214u, 215u, 216u, 217u, 219u, 220u, 221u, 222u, 
	223u, 224u, 225u, 226u, 227u, 228u, 233u, 234u, 
	237u, 239u, 240u, 48u, 57u, 65u, 90u, 97u, 
	122u, 196u, 202u, 208u, 218u, 229u, 236u, 95u, 
	105u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 108u, 194u, 195u, 198u, 
	199u, 203u, 205u, 206u, 207u, 210u, 212u, 213u, 
	214u, 215u, 216u, 217u, 219u, 220u, 221u, 222u, 
	223u, 224u, 225u, 226u, 227u, 228u, 233u, 234u, 
	237u, 239u, 240u, 48u, 57u, 65u, 90u, 97u, 
	122u, 196u, 202u, 208u, 218u, 229u, 236u, 95u, 
	116u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 105u, 194u, 195u, 198u, 
	199u, 203u, 205u, 206u, 207u, 210u, 212u, 213u, 
	214u, 215u, 216u, 217u, 219u, 220u, 221u, 222u, 
	223u, 224u, 225u, 226u, 227u, 228u, 233u, 234u, 
	237u, 239u, 240u, 48u, 57u, 65u, 90u, 97u, 
	122u, 196u, 202u, 208u, 218u, 229u, 236u, 95u, 
	110u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 108u, 109u, 120u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 48u, 57u, 65u, 
	90u, 97u, 122u, 196u, 202u, 208u, 218u, 229u, 
	236u, 95u, 115u, 194u, 195u, 198u, 199u, 203u, 
	205u, 206u, 207u, 210u, 212u, 213u, 214u, 215u, 
	216u, 217u, 219u, 220u, 221u, 222u, 223u, 224u, 
	225u, 226u, 227u, 228u, 233u, 234u, 237u, 239u, 
	240u, 48u, 57u, 65u, 90u, 97u, 122u, 196u, 
	202u, 208u, 218u, 229u, 236u, 95u, 101u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 48u, 57u, 65u, 
	90u, 97u, 122u, 196u, 202u, 208u, 218u, 229u, 
	236u, 95u, 112u, 194u, 195u, 198u, 199u, 203u, 
	205u, 206u, 207u, 210u, 212u, 213u, 214u, 215u, 
	216u, 217u, 219u, 220u, 221u, 222u, 223u, 224u, 
	225u, 226u, 227u, 228u, 233u, 234u, 237u, 239u, 
	240u, 48u, 57u, 65u, 90u, 97u, 122u, 196u, 
	202u, 208u, 218u, 229u, 236u, 95u, 116u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 48u, 57u, 65u, 
	90u, 97u, 122u, 196u, 202u, 208u, 218u, 229u, 
	236u, 95u, 121u, 194u, 195u, 198u, 199u, 203u, 
	205u, 206u, 207u, 210u, 212u, 213u, 214u, 215u, 
	216u, 217u, 219u, 220u, 221u, 222u, 223u, 224u, 
	225u, 226u, 227u, 228u, 233u, 234u, 237u, 239u, 
	240u, 48u, 57u, 65u, 90u, 97u, 122u, 196u, 
	202u, 208u, 218u, 229u, 236u, 95u, 105u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 48u, 57u, 65u, 
	90u, 97u, 122u, 196u, 202u, 208u, 218u, 229u, 
	236u, 95u, 115u, 194u, 195u, 198u, 199u, 203u, 
	205u, 206u, 207u, 210u, 212u, 213u, 214u, 215u, 
	216u, 217u, 219u, 220u, 221u, 222u, 223u, 224u, 
	225u, 226u, 227u, 228u, 233u, 234u, 237u, 239u, 
	240u, 48u, 57u, 65u, 90u, 97u, 122u, 196u, 
	202u, 208u, 218u, 229u, 236u, 95u, 116u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 48u, 57u, 65u, 
	90u, 97u, 122u, 196u, 202u, 208u, 218u, 229u, 
	236u, 95u, 115u, 194u, 195u, 198u, 199u, 203u, 
	205u, 206u, 207u, 210u, 212u, 213u, 214u, 215u, 
	216u, 217u, 219u, 220u, 221u, 222u, 223u, 224u, 
	225u, 226u, 227u, 228u, 233u, 234u, 237u, 239u, 
	240u, 48u, 57u, 65u, 90u, 97u, 122u, 196u, 
	202u, 208u, 218u, 229u, 236u, 95u, 102u, 109u, 
	110u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 112u, 194u, 195u, 198u, 
	199u, 203u, 205u, 206u, 207u, 210u, 212u, 213u, 
	214u, 215u, 216u, 217u, 219u, 220u, 221u, 222u, 
	223u, 224u, 225u, 226u, 227u, 228u, 233u, 234u, 
	237u, 239u, 240u, 48u, 57u, 65u, 90u, 97u, 
	122u, 196u, 202u, 208u, 218u, 229u, 236u, 95u, 
	111u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 114u, 194u, 195u, 198u, 
	199u, 203u, 205u, 206u, 207u, 210u, 212u, 213u, 
	214u, 215u, 216u, 217u, 219u, 220u, 221u, 222u, 
	223u, 224u, 225u, 226u, 227u, 228u, 233u, 234u, 
	237u, 239u, 240u, 48u, 57u, 65u, 90u, 97u, 
	122u, 196u, 202u, 208u, 218u, 229u, 236u, 95u, 
	116u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 111u, 194u, 195u, 198u, 
	199u, 203u, 205u, 206u, 207u, 210u, 212u, 213u, 
	214u, 215u, 216u, 217u, 219u, 220u, 221u, 222u, 
	223u, 224u, 225u, 226u, 227u, 228u, 233u, 234u, 
	237u, 239u, 240u, 48u, 57u, 65u, 90u, 97u, 
	122u, 196u, 202u, 208u, 218u, 229u, 236u, 95u, 
	116u, 194u, 195u, 198u, 199u, 203u, 205u, 206u, 
	207u, 210u, 212u, 213u, 214u, 215u, 216u, 217u, 
	219u, 220u, 221u, 222u, 223u, 224u, 225u, 226u, 
	227u, 228u, 233u, 234u, 237u, 239u, 240u, 48u, 
	57u, 65u, 90u, 97u, 122u, 196u, 202u, 208u, 
	218u, 229u, 236u, 95u, 112u, 114u, 194u, 195u, 
	198u, 199u, 203u, 205u, 206u, 207u, 210u, 212u, 
	213u, 214u, 215u, 216u, 217u, 219u, 220u, 221u, 
	222u, 223u, 224u, 225u, 226u, 227u, 228u, 233u, 
	234u, 237u, 239u, 240u, 48u, 57u, 65u, 90u, 
	97u, 122u, 196u, 202u, 208u, 218u, 229u, 236u, 
	95u, 116u, 194u, 195u, 198u, 199u, 203u, 205u, 
	206u, 207u, 210u, 212u, 213u, 214u, 215u, 216u, 
	217u, 219u, 220u, 221u, 222u, 223u, 224u, 225u, 
	226u, 227u, 228u, 233u, 234u, 237u, 239u, 240u, 
	48u, 57u, 65u, 90u, 97u, 122u, 196u, 202u, 
	208u, 218u, 229u, 236u, 95u, 105u, 194u, 195u, 
	198u, 199u, 203u, 205u, 206u, 207u, 210u, 212u, 
	213u, 214u, 215u, 216u, 217u, 219u, 220u, 221u, 
	222u, 223u, 224u, 225u, 226u, 227u, 228u, 233u, 
	234u, 237u, 239u, 240u, 48u, 57u, 65u, 90u, 
	97u, 122u, 196u, 202u, 208u, 218u, 229u, 236u, 
	95u, 111u, 194u, 195u, 198u, 199u, 203u, 205u, 
	206u, 207u, 210u, 212u, 213u, 214u, 215u, 216u, 
	217u, 219u, 220u, 221u, 222u, 223u, 224u, 225u, 
	226u, 227u, 228u, 233u, 234u, 237u, 239u, 240u, 
	48u, 57u, 65u, 90u, 97u, 122u, 196u, 202u, 
	208u, 218u, 229u, 236u, 95u, 110u, 194u, 195u, 
	198u, 199u, 203u, 205u, 206u, 207u, 210u, 212u, 
	213u, 214u, 215u, 216u, 217u, 219u, 220u, 221u, 
	222u, 223u, 224u, 225u, 226u, 227u, 228u, 233u, 
	234u, 237u, 239u, 240u, 48u, 57u, 65u, 90u, 
	97u, 122u, 196u, 202u, 208u, 218u, 229u, 236u, 
	95u, 97u, 194u, 195u, 198u, 199u, 203u, 205u, 
	206u, 207u, 210u, 212u, 213u, 214u, 215u, 216u, 
	217u, 219u, 220u, 221u, 222u, 223u, 224u, 225u, 
	226u, 227u, 228u, 233u, 234u, 237u, 239u, 240u, 
	48u, 57u, 65u, 90u, 98u, 122u, 196u, 202u, 
	208u, 218u, 229u, 236u, 95u, 99u, 194u, 195u, 
	198u, 199u, 203u, 205u, 206u, 207u, 210u, 212u, 
	213u, 214u, 215u, 216u, 217u, 219u, 220u, 221u, 
	222u, 223u, 224u, 225u, 226u, 227u, 228u, 233u, 
	234u, 237u, 239u, 240u, 48u, 57u, 65u, 90u, 
	97u, 122u, 196u, 202u, 208u, 218u, 229u, 236u, 
	95u, 107u, 194u, 195u, 198u, 199u, 203u, 205u, 
	206u, 207u, 210u, 212u, 213u, 214u, 215u, 216u, 
	217u, 219u, 220u, 221u, 222u, 223u, 224u, 225u, 
	226u, 227u, 228u, 233u, 234u, 237u, 239u, 240u, 
	48u, 57u, 65u, 90u, 97u, 122u, 196u, 202u, 
	208u, 218u, 229u, 236u, 95u, 97u, 194u, 195u, 
	198u, 199u, 203u, 205u, 206u, 207u, 210u, 212u, 
	213u, 214u, 215u, 216u, 217u, 219u, 220u, 221u, 
	222u, 223u, 224u, 225u, 226u, 227u, 228u, 233u, 
	234u, 237u, 239u, 240u, 48u, 57u, 65u, 90u, 
	98u, 122u, 196u, 202u, 208u, 218u, 229u, 236u, 
	95u, 103u, 194u, 195u, 198u, 199u, 203u, 205u, 
	206u, 207u, 210u, 212u, 213u, 214u, 215u, 216u, 
	217u, 219u, 220u, 221u, 222u, 223u, 224u, 225u, 
	226u, 227u, 228u, 233u, 234u, 237u, 239u, 240u, 
	48u, 57u, 65u, 90u, 97u, 122u, 196u, 202u, 
	208u, 218u, 229u, 236u, 95u, 101u, 194u, 195u, 
	198u, 199u, 203u, 205u, 206u, 207u, 210u, 212u, 
	213u, 214u, 215u, 216u, 217u, 219u, 220u, 221u, 
	222u, 223u, 224u, 225u, 226u, 227u, 228u, 233u, 
	234u, 237u, 239u, 240u, 48u, 57u, 65u, 90u, 
	97u, 122u, 196u, 202u, 208u, 218u, 229u, 236u, 
	95u, 101u, 194u, 195u, 198u, 199u, 203u, 205u, 
	206u, 207u, 210u, 212u, 213u, 214u, 215u, 216u, 
	217u, 219u, 220u, 221u, 222u, 223u, 224u, 225u, 
	226u, 227u, 228u, 233u, 234u, 237u, 239u, 240u, 
	48u, 57u, 65u, 90u, 97u, 122u, 196u, 202u, 
	208u, 218u, 229u, 236u, 95u, 116u, 194u, 195u, 
	198u, 199u, 203u, 205u, 206u, 207u, 210u, 212u, 
	213u, 214u, 215u, 216u, 217u, 219u, 220u, 221u, 
	222u, 223u, 224u, 225u, 226u, 227u, 228u, 233u, 
	234u, 237u, 239u, 240u, 48u, 57u, 65u, 90u, 
	97u, 122u, 196u, 202u, 208u, 218u, 229u, 236u, 
	95u, 117u, 194u, 195u, 198u, 199u, 203u, 205u, 
	206u, 207u, 210u, 212u, 213u, 214u, 215u, 216u, 
	217u, 219u, 220u, 221u, 222u, 223u, 224u, 225u, 
	226u, 227u, 228u, 233u, 234u, 237u, 239u, 240u, 
	48u, 57u, 65u, 90u, 97u, 122u, 196u, 202u, 
	208u, 218u, 229u, 236u, 95u, 114u, 194u, 195u, 
	198u, 199u, 203u, 205u, 206u, 207u, 210u, 212u, 
	213u, 214u, 215u, 216u, 217u, 219u, 220u, 221u, 
	222u, 223u, 224u, 225u, 226u, 227u, 228u, 233u, 
	234u, 237u, 239u, 240u, 48u, 57u, 65u, 90u, 
	97u, 122u, 196u, 202u, 208u, 218u, 229u, 236u, 
	95u, 110u, 194u, 195u, 198u, 199u, 203u, 205u, 
	206u, 207u, 210u, 212u, 213u, 214u, 215u, 216u, 
	217u, 219u, 220u, 221u, 222u, 223u, 224u, 225u, 
	226u, 227u, 228u, 233u, 234u, 237u, 239u, 240u, 
	48u, 57u, 65u, 90u, 97u, 122u, 196u, 202u, 
	208u, 218u, 229u, 236u, 95u, 101u, 104u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 48u, 57u, 65u, 
	90u, 97u, 122u, 196u, 202u, 208u, 218u, 229u, 
	236u, 95u, 115u, 194u, 195u, 198u, 199u, 203u, 
	205u, 206u, 207u, 210u, 212u, 213u, 214u, 215u, 
	216u, 217u, 219u, 220u, 221u, 222u, 223u, 224u, 
	225u, 226u, 227u, 228u, 233u, 234u, 237u, 239u, 
	240u, 48u, 57u, 65u, 90u, 97u, 122u, 196u, 
	202u, 208u, 218u, 229u, 236u, 95u, 116u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 48u, 57u, 65u, 
	90u, 97u, 122u, 196u, 202u, 208u, 218u, 229u, 
	236u, 95u, 101u, 194u, 195u, 198u, 199u, 203u, 
	205u, 206u, 207u, 210u, 212u, 213u, 214u, 215u, 
	216u, 217u, 219u, 220u, 221u, 222u, 223u, 224u, 
	225u, 226u, 227u, 228u, 233u, 234u, 237u, 239u, 
	240u, 48u, 57u, 65u, 90u, 97u, 122u, 196u, 
	202u, 208u, 218u, 229u, 236u, 95u, 110u, 194u, 
	195u, 198u, 199u, 203u, 205u, 206u, 207u, 210u, 
	212u, 213u, 214u, 215u, 216u, 217u, 219u, 220u, 
	221u, 222u, 223u, 224u, 225u, 226u, 227u, 228u, 
	233u, 234u, 237u, 239u, 240u, 48u, 57u, 65u, 
	90u, 97u, 122u, 196u, 202u, 208u, 218u, 229u, 
	236u, 10u, 32u, 47u, 9u, 13u, 9u, 32u, 
	11u, 13u, 10u, 47u, 92u, 10u, 47u, 92u, 
	10u, 34u, 36u, 92u, 10u, 34u, 36u, 92u, 
	0
};

static const char _flux_single_lengths[] = {
	0, 2, 4, 3, 7, 1, 0, 0, 
	1, 1, 2, 0, 0, 1, 0, 0, 
	0, 0, 1, 0, 0, 1, 0, 0, 
	0, 0, 1, 0, 0, 1, 9, 9, 
	1, 1, 3, 0, 0, 0, 0, 1, 
	1, 2, 1, 0, 0, 0, 1, 1, 
	0, 0, 1, 0, 0, 0, 1, 27, 
	0, 0, 1, 2, 0, 1, 0, 2, 
	0, 1, 1, 2, 0, 3, 0, 1, 
	0, 2, 1, 1, 0, 1, 5, 2, 
	1, 0, 0, 43, 1, 0, 0, 1, 
	0, 0, 0, 3, 2, 1, 1, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 1, 0, 0, 0, 0, 
	4, 1, 0, 16, 2, 0, 6, 1, 
	0, 0, 0, 0, 2, 0, 0, 0, 
	0, 0, 1, 9, 0, 1, 1, 0, 
	0, 0, 3, 0, 0, 1, 0, 19, 
	0, 0, 1, 0, 0, 0, 0, 3, 
	0, 0, 0, 0, 0, 1, 0, 19, 
	0, 0, 0, 1, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	6, 17, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 1, 0, 3, 0, 0, 
	4, 0, 0, 12, 1, 4, 1, 4, 
	1, 0, 3, 2, 2, 2, 1, 1, 
	1, 0, 2, 1, 3, 3, 4, 3, 
	3, 3, 3, 3, 2, 7, 1, 0, 
	0, 2, 64, 2, 4, 0, 1, 1, 
	10, 1, 4, 3, 1, 3, 10, 10, 
	10, 11, 10, 2, 3, 1, 31, 32, 
	32, 32, 32, 32, 32, 32, 32, 34, 
	32, 32, 32, 32, 32, 32, 32, 32, 
	32, 34, 32, 32, 32, 32, 32, 32, 
	33, 32, 32, 32, 32, 32, 32, 32, 
	32, 32, 32, 32, 32, 32, 32, 32, 
	33, 32, 32, 32, 32, 3, 2, 3, 
	3, 4, 4
};

static const char _flux_range_lengths[] = {
	0, 0, 0, 0, 0, 0, 3, 3, 
	1, 1, 1, 1, 1, 0, 1, 1, 
	1, 1, 0, 1, 1, 0, 1, 1, 
	1, 1, 0, 1, 1, 1, 0, 1, 
	0, 0, 0, 3, 0, 1, 1, 4, 
	3, 3, 0, 1, 1, 2, 2, 4, 
	2, 3, 5, 1, 1, 1, 2, 0, 
	2, 5, 7, 6, 9, 6, 8, 3, 
	8, 6, 10, 3, 7, 3, 7, 5, 
	6, 4, 4, 4, 1, 1, 8, 2, 
	0, 3, 4, 3, 2, 3, 2, 2, 
	1, 1, 1, 2, 3, 3, 1, 2, 
	2, 1, 1, 2, 2, 2, 3, 4, 
	2, 3, 1, 1, 1, 3, 2, 2, 
	1, 1, 2, 1, 2, 1, 2, 2, 
	3, 2, 7, 0, 0, 1, 5, 2, 
	1, 1, 1, 2, 1, 1, 2, 2, 
	5, 5, 0, 1, 4, 1, 1, 2, 
	2, 1, 0, 1, 0, 1, 1, 3, 
	1, 3, 2, 1, 2, 2, 1, 1, 
	1, 2, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 5, 3, 1, 1, 1, 
	1, 2, 2, 1, 1, 2, 1, 4, 
	1, 0, 5, 2, 1, 1, 2, 1, 
	2, 1, 2, 2, 1, 3, 2, 5, 
	1, 1, 1, 1, 0, 3, 0, 2, 
	3, 1, 0, 0, 0, 0, 1, 1, 
	1, 1, 1, 0, 0, 0, 0, 0, 
	0, 3, 3, 0, 0, 0, 0, 3, 
	3, 0, 7, 1, 0, 1, 0, 0, 
	1, 0, 0, 1, 1, 1, 1, 1, 
	1, 1, 1, 0, 0, 0, 6, 6, 
	6, 6, 6, 6, 6, 6, 6, 6, 
	6, 6, 6, 6, 6, 6, 6, 6, 
	6, 6, 6, 6, 6, 6, 6, 6, 
	6, 6, 6, 6, 6, 6, 6, 6, 
	6, 6, 6, 6, 6, 6, 6, 6, 
	6, 6, 6, 6, 6, 1, 1, 0, 
	0, 0, 0
};

static const short _flux_index_offsets[] = {
	0, 0, 3, 8, 12, 20, 22, 26, 
	30, 33, 36, 40, 42, 44, 46, 48, 
	50, 52, 54, 56, 58, 60, 62, 64, 
	66, 68, 70, 72, 74, 76, 79, 89, 
	100, 102, 104, 108, 112, 113, 115, 117, 
	123, 128, 134, 136, 138, 140, 143, 147, 
	153, 156, 160, 167, 169, 171, 173, 177, 
	205, 208, 214, 223, 232, 242, 250, 259, 
	265, 274, 282, 294, 300, 308, 315, 323, 
	330, 337, 344, 350, 356, 358, 361, 375, 
	380, 382, 386, 391, 438, 442, 446, 449, 
	453, 455, 457, 459, 465, 471, 476, 479, 
	482, 485, 487, 489, 492, 495, 498, 502, 
	507, 510, 514, 516, 518, 520, 524, 527, 
	530, 532, 534, 537, 540, 543, 545, 548, 
	551, 559, 563, 571, 588, 591, 593, 605, 
	609, 611, 613, 615, 618, 622, 624, 627, 
	630, 636, 642, 644, 655, 660, 663, 666, 
	669, 672, 674, 678, 680, 681, 684, 686, 
	709, 711, 715, 719, 721, 724, 727, 729, 
	734, 736, 739, 741, 743, 745, 748, 750, 
	771, 773, 775, 777, 784, 788, 790, 792, 
	794, 796, 799, 802, 804, 806, 809, 811, 
	816, 824, 842, 848, 851, 853, 855, 858, 
	860, 863, 865, 868, 872, 874, 881, 884, 
	890, 896, 898, 900, 914, 916, 924, 926, 
	933, 938, 940, 944, 947, 950, 953, 956, 
	959, 962, 964, 968, 970, 974, 978, 983, 
	987, 991, 998, 1005, 1009, 1012, 1020, 1022, 
	1026, 1030, 1033, 1105, 1109, 1114, 1116, 1118, 
	1120, 1132, 1134, 1139, 1144, 1147, 1152, 1164, 
	1176, 1188, 1201, 1213, 1216, 1220, 1222, 1260, 
	1299, 1338, 1377, 1416, 1455, 1494, 1533, 1572, 
	1613, 1652, 1691, 1730, 1769, 1808, 1847, 1886, 
	1925, 1964, 2005, 2044, 2083, 2122, 2161, 2200, 
	2239, 2279, 2318, 2357, 2396, 2435, 2474, 2513, 
	2552, 2591, 2630, 2669, 2708, 2747, 2786, 2825, 
	2864, 2904, 2943, 2982, 3021, 3060, 3065, 3069, 
	3073, 3077, 3082
};

static const short _flux_indicies[] = {
	0, 2, 1, 5, 6, 7, 8, 4, 
	5, 6, 3, 4, 4, 9, 4, 4, 
	4, 4, 10, 3, 4, 3, 11, 11, 
	11, 3, 4, 4, 4, 3, 13, 14, 
	12, 13, 15, 12, 16, 13, 17, 12, 
	18, 12, 19, 12, 20, 12, 21, 12, 
	22, 12, 24, 23, 25, 23, 26, 23, 
	27, 23, 28, 23, 29, 23, 30, 23, 
	31, 23, 32, 23, 33, 23, 34, 23, 
	35, 23, 36, 23, 13, 17, 12, 38, 
	38, 39, 40, 38, 40, 38, 38, 41, 
	37, 38, 38, 39, 40, 38, 40, 38, 
	38, 41, 42, 37, 38, 43, 40, 43, 
	44, 44, 44, 43, 44, 44, 44, 43, 
	44, 43, 44, 44, 43, 43, 43, 43, 
	43, 43, 44, 44, 44, 44, 44, 43, 
	44, 44, 44, 44, 44, 43, 43, 44, 
	43, 44, 43, 44, 43, 43, 44, 43, 
	43, 43, 44, 44, 44, 44, 44, 44, 
	43, 44, 44, 43, 44, 44, 44, 43, 
	43, 43, 43, 43, 43, 43, 44, 44, 
	43, 44, 43, 43, 44, 44, 44, 44, 
	43, 45, 46, 47, 48, 49, 50, 51, 
	52, 53, 54, 55, 56, 57, 58, 59, 
	60, 61, 62, 63, 64, 65, 66, 67, 
	68, 69, 70, 71, 43, 44, 44, 43, 
	43, 43, 43, 43, 43, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 43, 43, 
	43, 43, 43, 43, 43, 43, 43, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 43, 43, 43, 43, 43, 43, 43, 
	43, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 43, 43, 43, 43, 43, 43, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 43, 44, 44, 44, 44, 44, 44, 
	44, 43, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 43, 44, 44, 
	44, 44, 44, 43, 44, 44, 44, 44, 
	44, 44, 44, 43, 43, 43, 43, 43, 
	43, 43, 44, 44, 44, 44, 44, 44, 
	44, 44, 43, 44, 44, 44, 44, 44, 
	44, 43, 44, 44, 44, 44, 44, 44, 
	43, 43, 43, 43, 43, 43, 43, 44, 
	44, 44, 44, 44, 44, 43, 44, 44, 
	44, 44, 44, 43, 44, 43, 44, 44, 
	43, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 43, 44, 
	44, 44, 44, 43, 44, 43, 44, 44, 
	44, 43, 44, 44, 44, 44, 43, 72, 
	73, 74, 75, 77, 78, 79, 80, 81, 
	82, 83, 84, 85, 86, 87, 89, 90, 
	91, 92, 93, 94, 95, 96, 97, 98, 
	99, 100, 101, 102, 103, 104, 105, 106, 
	107, 108, 76, 88, 109, 76, 110, 111, 
	112, 113, 76, 88, 88, 43, 44, 44, 
	44, 43, 44, 44, 44, 43, 43, 43, 
	44, 43, 43, 43, 44, 43, 44, 43, 
	44, 43, 44, 43, 43, 43, 43, 43, 
	44, 43, 43, 43, 43, 43, 44, 44, 
	44, 44, 44, 43, 43, 43, 44, 43, 
	43, 44, 44, 44, 43, 43, 44, 44, 
	43, 43, 43, 44, 44, 44, 43, 43, 
	43, 44, 44, 44, 44, 43, 44, 44, 
	44, 44, 43, 44, 44, 43, 43, 43, 
	43, 44, 44, 43, 43, 44, 44, 43, 
	44, 44, 44, 43, 44, 44, 43, 44, 
	44, 43, 43, 44, 44, 43, 44, 44, 
	43, 43, 43, 44, 44, 44, 43, 44, 
	43, 44, 44, 43, 43, 43, 44, 43, 
	43, 43, 43, 43, 43, 43, 44, 44, 
	44, 44, 43, 44, 44, 44, 44, 44, 
	44, 44, 43, 114, 115, 116, 117, 118, 
	119, 120, 121, 122, 76, 123, 124, 125, 
	126, 127, 128, 43, 44, 44, 43, 44, 
	43, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 43, 44, 44, 44, 
	43, 43, 44, 44, 43, 43, 44, 44, 
	44, 43, 43, 43, 43, 44, 43, 44, 
	44, 44, 43, 43, 43, 44, 44, 44, 
	44, 44, 44, 43, 44, 44, 44, 44, 
	44, 43, 44, 43, 129, 87, 130, 131, 
	132, 88, 133, 134, 76, 88, 43, 44, 
	44, 44, 44, 43, 43, 43, 44, 43, 
	43, 44, 44, 44, 43, 43, 43, 44, 
	44, 43, 135, 43, 76, 88, 43, 44, 
	88, 136, 43, 88, 43, 44, 76, 137, 
	76, 138, 139, 140, 141, 88, 142, 143, 
	144, 145, 76, 136, 146, 147, 148, 149, 
	76, 88, 88, 88, 43, 43, 44, 43, 
	43, 43, 44, 44, 44, 44, 43, 44, 
	43, 44, 44, 43, 43, 43, 44, 44, 
	43, 43, 43, 43, 43, 44, 44, 43, 
	44, 44, 43, 43, 44, 44, 43, 44, 
	43, 150, 43, 88, 43, 44, 76, 151, 
	152, 153, 154, 155, 156, 157, 158, 159, 
	160, 161, 162, 88, 163, 164, 165, 166, 
	167, 88, 43, 43, 44, 43, 44, 43, 
	44, 44, 44, 44, 44, 44, 44, 43, 
	44, 44, 44, 43, 44, 43, 43, 44, 
	44, 43, 43, 44, 43, 43, 44, 44, 
	44, 43, 43, 44, 44, 43, 44, 44, 
	43, 43, 44, 44, 44, 44, 44, 43, 
	168, 169, 170, 171, 173, 174, 172, 43, 
	175, 176, 76, 177, 178, 179, 180, 181, 
	182, 183, 184, 76, 88, 185, 186, 187, 
	188, 43, 44, 44, 44, 44, 44, 43, 
	43, 43, 44, 43, 44, 44, 43, 44, 
	44, 43, 43, 44, 44, 44, 43, 43, 
	44, 44, 44, 43, 43, 43, 43, 44, 
	43, 44, 44, 44, 44, 44, 44, 44, 
	43, 44, 44, 43, 44, 44, 44, 44, 
	44, 43, 76, 189, 76, 190, 88, 43, 
	43, 44, 43, 44, 76, 191, 192, 193, 
	194, 195, 196, 197, 198, 199, 200, 201, 
	88, 43, 43, 44, 43, 43, 43, 43, 
	43, 43, 43, 44, 43, 44, 43, 43, 
	43, 43, 43, 43, 44, 44, 44, 44, 
	44, 43, 43, 44, 43, 43, 43, 44, 
	43, 43, 44, 43, 43, 44, 43, 43, 
	44, 43, 43, 44, 76, 88, 43, 202, 
	43, 88, 43, 44, 76, 185, 88, 43, 
	203, 1, 206, 207, 208, 205, 206, 209, 
	208, 205, 206, 209, 211, 212, 205, 206, 
	209, 213, 205, 206, 209, 208, 205, 206, 
	207, 208, 214, 214, 214, 205, 206, 207, 
	208, 215, 215, 215, 205, 206, 207, 208, 
	205, 218, 216, 217, 217, 220, 217, 217, 
	217, 217, 221, 219, 217, 219, 222, 222, 
	222, 219, 217, 217, 217, 219, 218, 223, 
	217, 225, 224, 226, 227, 228, 229, 230, 
	231, 232, 233, 234, 235, 236, 237, 239, 
	240, 241, 242, 243, 244, 245, 44, 246, 
	247, 248, 249, 250, 251, 252, 253, 254, 
	255, 256, 257, 258, 259, 109, 76, 260, 
	261, 262, 263, 264, 265, 266, 267, 268, 
	269, 270, 271, 272, 273, 156, 274, 275, 
	276, 277, 278, 279, 280, 281, 282, 283, 
	284, 224, 238, 44, 44, 88, 88, 172, 
	1, 224, 224, 224, 285, 5, 6, 7, 
	8, 4, 13, 43, 288, 287, 290, 288, 
	13, 38, 38, 39, 40, 38, 40, 38, 
	38, 41, 292, 291, 294, 293, 295, 295, 
	296, 36, 293, 295, 295, 36, 296, 293, 
	298, 42, 297, 298, 38, 38, 42, 297, 
	13, 38, 38, 39, 40, 38, 40, 38, 
	38, 41, 299, 291, 13, 38, 38, 39, 
	40, 38, 40, 38, 38, 41, 300, 291, 
	13, 38, 38, 39, 40, 38, 40, 38, 
	38, 41, 301, 291, 16, 13, 38, 38, 
	39, 40, 38, 40, 38, 38, 41, 302, 
	291, 13, 38, 38, 39, 40, 38, 40, 
	38, 38, 41, 302, 291, 304, 305, 303, 
	307, 308, 309, 306, 311, 310, 44, 258, 
	259, 109, 76, 260, 261, 262, 263, 264, 
	265, 266, 267, 268, 269, 270, 271, 272, 
	273, 156, 274, 275, 276, 277, 278, 279, 
	280, 281, 282, 283, 284, 44, 44, 44, 
	88, 88, 172, 43, 44, 313, 258, 259, 
	109, 76, 260, 261, 262, 263, 264, 265, 
	266, 267, 268, 269, 270, 271, 272, 273, 
	156, 274, 275, 276, 277, 278, 279, 280, 
	281, 282, 283, 284, 44, 44, 44, 88, 
	88, 172, 312, 44, 314, 258, 259, 109, 
	76, 260, 261, 262, 263, 264, 265, 266, 
	267, 268, 269, 270, 271, 272, 273, 156, 
	274, 275, 276, 277, 278, 279, 280, 281, 
	282, 283, 284, 44, 44, 44, 88, 88, 
	172, 312, 44, 315, 258, 259, 109, 76, 
	260, 261, 262, 263, 264, 265, 266, 267, 
	268, 269, 270, 271, 272, 273, 156, 274, 
	275, 276, 277, 278, 279, 280, 281, 282, 
	283, 284, 44, 44, 44, 88, 88, 172, 
	312, 44, 316, 258, 259, 109, 76, 260, 
	261, 262, 263, 264, 265, 266, 267, 268, 
	269, 270, 271, 272, 273, 156, 274, 275, 
	276, 277, 278, 279, 280, 281, 282, 283, 
	284, 44, 44, 44, 88, 88, 172, 312, 
	44, 317, 258, 259, 109, 76, 260, 261, 
	262, 263, 264, 265, 266, 267, 268, 269, 
	270, 271, 272, 273, 156, 274, 275, 276, 
	277, 278, 279, 280, 281, 282, 283, 284, 
	44, 44, 44, 88, 88, 172, 312, 44, 
	318, 258, 259, 109, 76, 260, 261, 262, 
	263, 264, 265, 266, 267, 268, 269, 270, 
	271, 272, 273, 156, 274, 275, 276, 277, 
	278, 279, 280, 281, 282, 283, 284, 44, 
	44, 44, 88, 88, 172, 312, 44, 319, 
	258, 259, 109, 76, 260, 261, 262, 263, 
	264, 265, 266, 267, 268, 269, 270, 271, 
	272, 273, 156, 274, 275, 276, 277, 278, 
	279, 280, 281, 282, 283, 284, 44, 44, 
	44, 88, 88, 172, 312, 44, 320, 258, 
	259, 109, 76, 260, 261, 262, 263, 264, 
	265, 266, 267, 268, 269, 270, 271, 272, 
	273, 156, 274, 275, 276, 277, 278, 279, 
	280, 281, 282, 283, 284, 44, 44, 44, 
	88, 88, 172, 312, 44, 321, 322, 323, 
	258, 259, 109, 76, 260, 261, 262, 263, 
	264, 265, 266, 267, 268, 269, 270, 271, 
	272, 273, 156, 274, 275, 276, 277, 278, 
	279, 280, 281, 282, 283, 284, 44, 44, 
	44, 88, 88, 172, 312, 44, 324, 258, 
	259, 109, 76, 260, 261, 262, 263, 264, 
	265, 266, 267, 268, 269, 270, 271, 272, 
	273, 156, 274, 275, 276, 277, 278, 279, 
	280, 281, 282, 283, 284, 44, 44, 44, 
	88, 88, 172, 312, 44, 325, 258, 259, 
	109, 76, 260, 261, 262, 263, 264, 265, 
	266, 267, 268, 269, 270, 271, 272, 273, 
	156, 274, 275, 276, 277, 278, 279, 280, 
	281, 282, 283, 284, 44, 44, 44, 88, 
	88, 172, 312, 44, 326, 258, 259, 109, 
	76, 260, 261, 262, 263, 264, 265, 266, 
	267, 268, 269, 270, 271, 272, 273, 156, 
	274, 275, 276, 277, 278, 279, 280, 281, 
	282, 283, 284, 44, 44, 44, 88, 88, 
	172, 312, 44, 327, 258, 259, 109, 76, 
	260, 261, 262, 263, 264, 265, 266, 267, 
	268, 269, 270, 271, 272, 273, 156, 274, 
	275, 276, 277, 278, 279, 280, 281, 282, 
	283, 284, 44, 44, 44, 88, 88, 172, 
	312, 44, 328, 258, 259, 109, 76, 260, 
	261, 262, 263, 264, 265, 266, 267, 268, 
	269, 270, 271, 272, 273, 156, 274, 275, 
	276, 277, 278, 279, 280, 281, 282, 283, 
	284, 44, 44, 44, 88, 88, 172, 312, 
	44, 329, 258, 259, 109, 76, 260, 261, 
	262, 263, 264, 265, 266, 267, 268, 269, 
	270, 271, 272, 273, 156, 274, 275, 276, 
	277, 278, 279, 280, 281, 282, 283, 284, 
	44, 44, 44, 88, 88, 172, 312, 44, 
	330, 258, 259, 109, 76, 260, 261, 262, 
	263, 264, 265, 266, 267, 268, 269, 270, 
	271, 272, 273, 156, 274, 275, 276, 277, 
	278, 279, 280, 281, 282, 283, 284, 44, 
	44, 44, 88, 88, 172, 312, 44, 331, 
	258, 259, 109, 76, 260, 261, 262, 263, 
	264, 265, 266, 267, 268, 269, 270, 271, 
	272, 273, 156, 274, 275, 276, 277, 278, 
	279, 280, 281, 282, 283, 284, 44, 44, 
	44, 88, 88, 172, 312, 44, 332, 258, 
	259, 109, 76, 260, 261, 262, 263, 264, 
	265, 266, 267, 268, 269, 270, 271, 272, 
	273, 156, 274, 275, 276, 277, 278, 279, 
	280, 281, 282, 283, 284, 44, 44, 44, 
	88, 88, 172, 312, 44, 333, 334, 335, 
	258, 259, 109, 76, 260, 261, 262, 263, 
	264, 265, 266, 267, 268, 269, 270, 271, 
	272, 273, 156, 274, 275, 276, 277, 278, 
	279, 280, 281, 282, 283, 284, 44, 44, 
	44, 88, 88, 172, 312, 44, 336, 258, 
	259, 109, 76, 260, 261, 262, 263, 264, 
	265, 266, 267, 268, 269, 270, 271, 272, 
	273, 156, 274, 275, 276, 277, 278, 279, 
	280, 281, 282, 283, 284, 44, 44, 44, 
	88, 88, 172, 312, 44, 337, 258, 259, 
	109, 76, 260, 261, 262, 263, 264, 265, 
	266, 267, 268, 269, 270, 271, 272, 273, 
	156, 274, 275, 276, 277, 278, 279, 280, 
	281, 282, 283, 284, 44, 44, 44, 88, 
	88, 172, 312, 44, 338, 258, 259, 109, 
	76, 260, 261, 262, 263, 264, 265, 266, 
	267, 268, 269, 270, 271, 272, 273, 156, 
	274, 275, 276, 277, 278, 279, 280, 281, 
	282, 283, 284, 44, 44, 44, 88, 88, 
	172, 312, 44, 339, 258, 259, 109, 76, 
	260, 261, 262, 263, 264, 265, 266, 267, 
	268, 269, 270, 271, 272, 273, 156, 274, 
	275, 276, 277, 278, 279, 280, 281, 282, 
	283, 284, 44, 44, 44, 88, 88, 172, 
	312, 44, 340, 258, 259, 109, 76, 260, 
	261, 262, 263, 264, 265, 266, 267, 268, 
	269, 270, 271, 272, 273, 156, 274, 275, 
	276, 277, 278, 279, 280, 281, 282, 283, 
	284, 44, 44, 44, 88, 88, 172, 312, 
	44, 341, 258, 259, 109, 76, 260, 261, 
	262, 263, 264, 265, 266, 267, 268, 269, 
	270, 271, 272, 273, 156, 274, 275, 276, 
	277, 278, 279, 280, 281, 282, 283, 284, 
	44, 44, 44, 88, 88, 172, 312, 44, 
	342, 343, 258, 259, 109, 76, 260, 261, 
	262, 263, 264, 265, 266, 267, 268, 269, 
	270, 271, 272, 273, 156, 274, 275, 276, 
	277, 278, 279, 280, 281, 282, 283, 284, 
	44, 44, 44, 88, 88, 172, 312, 44, 
	344, 258, 259, 109, 76, 260, 261, 262, 
	263, 264, 265, 266, 267, 268, 269, 270, 
	271, 272, 273, 156, 274, 275, 276, 277, 
	278, 279, 280, 281, 282, 283, 284, 44, 
	44, 44, 88, 88, 172, 312, 44, 345, 
	258, 259, 109, 76, 260, 261, 262, 263, 
	264, 265, 266, 267, 268, 269, 270, 271, 
	272, 273, 156, 274, 275, 276, 277, 278, 
	279, 280, 281, 282, 283, 284, 44, 44, 
	44, 88, 88, 172, 312, 44, 346, 258, 
	259, 109, 76, 260, 261, 262, 263, 264, 
	265, 266, 267, 268, 269, 270, 271, 272, 
	273, 156, 274, 275, 276, 277, 278, 279, 
	280, 281, 282, 283, 284, 44, 44, 44, 
	88, 88, 172, 312, 44, 347, 258, 259, 
	109, 76, 260, 261, 262, 263, 264, 265, 
	266, 267, 268, 269, 270, 271, 272, 273, 
	156, 274, 275, 276, 277, 278, 279, 280, 
	281, 282, 283, 284, 44, 44, 44, 88, 
	88, 172, 312, 44, 348, 258, 259, 109, 
	76, 260, 261, 262, 263, 264, 265, 266, 
	267, 268, 269, 270, 271, 272, 273, 156, 
	274, 275, 276, 277, 278, 279, 280, 281, 
	282, 283, 284, 44, 44, 44, 88, 88, 
	172, 312, 44, 349, 258, 259, 109, 76, 
	260, 261, 262, 263, 264, 265, 266, 267, 
	268, 269, 270, 271, 272, 273, 156, 274, 
	275, 276, 277, 278, 279, 280, 281, 282, 
	283, 284, 44, 44, 44, 88, 88, 172, 
	312, 44, 350, 258, 259, 109, 76, 260, 
	261, 262, 263, 264, 265, 266, 267, 268, 
	269, 270, 271, 272, 273, 156, 274, 275, 
	276, 277, 278, 279, 280, 281, 282, 283, 
	284, 44, 44, 44, 88, 88, 172, 312, 
	44, 351, 258, 259, 109, 76, 260, 261, 
	262, 263, 264, 265, 266, 267, 268, 269, 
	270, 271, 272, 273, 156, 274, 275, 276, 
	277, 278, 279, 280, 281, 282, 283, 284, 
	44, 44, 44, 88, 88, 172, 312, 44, 
	352, 258, 259, 109, 76, 260, 261, 262, 
	263, 264, 265, 266, 267, 268, 269, 270, 
	271, 272, 273, 156, 274, 275, 276, 277, 
	278, 279, 280, 281, 282, 283, 284, 44, 
	44, 44, 88, 88, 172, 312, 44, 353, 
	258, 259, 109, 76, 260, 261, 262, 263, 
	264, 265, 266, 267, 268, 269, 270, 271, 
	272, 273, 156, 274, 275, 276, 277, 278, 
	279, 280, 281, 282, 283, 284, 44, 44, 
	44, 88, 88, 172, 312, 44, 354, 258, 
	259, 109, 76, 260, 261, 262, 263, 264, 
	265, 266, 267, 268, 269, 270, 271, 272, 
	273, 156, 274, 275, 276, 277, 278, 279, 
	280, 281, 282, 283, 284, 44, 44, 44, 
	88, 88, 172, 312, 44, 355, 258, 259, 
	109, 76, 260, 261, 262, 263, 264, 265, 
	266, 267, 268, 269, 270, 271, 272, 273, 
	156, 274, 275, 276, 277, 278, 279, 280, 
	281, 282, 283, 284, 44, 44, 44, 88, 
	88, 172, 312, 44, 356, 258, 259, 109, 
	76, 260, 261, 262, 263, 264, 265, 266, 
	267, 268, 269, 270, 271, 272, 273, 156, 
	274, 275, 276, 277, 278, 279, 280, 281, 
	282, 283, 284, 44, 44, 44, 88, 88, 
	172, 312, 44, 357, 258, 259, 109, 76, 
	260, 261, 262, 263, 264, 265, 266, 267, 
	268, 269, 270, 271, 272, 273, 156, 274, 
	275, 276, 277, 278, 279, 280, 281, 282, 
	283, 284, 44, 44, 44, 88, 88, 172, 
	312, 44, 358, 258, 259, 109, 76, 260, 
	261, 262, 263, 264, 265, 266, 267, 268, 
	269, 270, 271, 272, 273, 156, 274, 275, 
	276, 277, 278, 279, 280, 281, 282, 283, 
	284, 44, 44, 44, 88, 88, 172, 312, 
	44, 359, 360, 258, 259, 109, 76, 260, 
	261, 262, 263, 264, 265, 266, 267, 268, 
	269, 270, 271, 272, 273, 156, 274, 275, 
	276, 277, 278, 279, 280, 281, 282, 283, 
	284, 44, 44, 44, 88, 88, 172, 312, 
	44, 361, 258, 259, 109, 76, 260, 261, 
	262, 263, 264, 265, 266, 267, 268, 269, 
	270, 271, 272, 273, 156, 274, 275, 276, 
	277, 278, 279, 280, 281, 282, 283, 284, 
	44, 44, 44, 88, 88, 172, 312, 44, 
	362, 258, 259, 109, 76, 260, 261, 262, 
	263, 264, 265, 266, 267, 268, 269, 270, 
	271, 272, 273, 156, 274, 275, 276, 277, 
	278, 279, 280, 281, 282, 283, 284, 44, 
	44, 44, 88, 88, 172, 312, 44, 363, 
	258, 259, 109, 76, 260, 261, 262, 263, 
	264, 265, 266, 267, 268, 269, 270, 271, 
	272, 273, 156, 274, 275, 276, 277, 278, 
	279, 280, 281, 282, 283, 284, 44, 44, 
	44, 88, 88, 172, 312, 44, 364, 258, 
	259, 109, 76, 260, 261, 262, 263, 264, 
	265, 266, 267, 268, 269, 270, 271, 272, 
	273, 156, 274, 275, 276, 277, 278, 279, 
	280, 281, 282, 283, 284, 44, 44, 44, 
	88, 88, 172, 312, 367, 366, 368, 366, 
	365, 366, 366, 366, 369, 206, 370, 371, 
	205, 206, 207, 208, 205, 218, 373, 374, 
	375, 217, 218, 376, 377, 375, 217, 0
};

static const short _flux_trans_targs[] = {
	234, 0, 234, 234, 2, 2, 234, 3, 
	4, 5, 6, 7, 234, 237, 9, 10, 
	11, 29, 12, 13, 14, 15, 241, 234, 
	17, 18, 19, 20, 21, 22, 23, 242, 
	25, 26, 27, 28, 234, 234, 244, 245, 
	32, 33, 31, 234, 254, 56, 57, 58, 
	59, 60, 61, 62, 63, 64, 65, 66, 
	67, 68, 69, 70, 71, 72, 73, 74, 
	75, 76, 77, 78, 79, 80, 81, 82, 
	84, 85, 86, 87, 38, 88, 89, 90, 
	91, 92, 93, 94, 95, 96, 97, 98, 
	36, 99, 100, 101, 102, 103, 104, 105, 
	106, 107, 108, 109, 110, 111, 112, 113, 
	114, 115, 116, 117, 118, 37, 119, 120, 
	121, 122, 124, 125, 126, 127, 128, 129, 
	130, 131, 132, 133, 134, 135, 136, 137, 
	138, 140, 141, 142, 143, 144, 145, 147, 
	150, 152, 153, 154, 155, 156, 157, 158, 
	159, 160, 161, 162, 163, 164, 166, 168, 
	169, 170, 171, 172, 53, 173, 174, 175, 
	176, 177, 178, 179, 180, 181, 182, 183, 
	185, 200, 203, 215, 148, 216, 218, 186, 
	187, 188, 189, 190, 191, 192, 193, 194, 
	195, 196, 197, 198, 199, 201, 202, 204, 
	205, 206, 207, 208, 209, 210, 211, 212, 
	213, 214, 217, 234, 301, 220, 220, 301, 
	221, 304, 301, 223, 225, 224, 226, 227, 
	305, 306, 306, 305, 230, 231, 232, 305, 
	235, 234, 1, 236, 234, 234, 234, 234, 
	234, 234, 234, 237, 238, 240, 246, 234, 
	251, 252, 253, 234, 234, 234, 255, 257, 
	263, 273, 278, 280, 285, 291, 296, 234, 
	219, 234, 34, 35, 39, 40, 41, 42, 
	43, 44, 45, 46, 47, 48, 49, 50, 
	51, 52, 54, 55, 83, 123, 139, 146, 
	149, 151, 165, 167, 184, 234, 234, 234, 
	239, 234, 234, 234, 8, 234, 16, 24, 
	243, 234, 30, 247, 248, 249, 250, 234, 
	234, 234, 234, 234, 234, 234, 234, 234, 
	234, 256, 254, 258, 259, 260, 261, 262, 
	254, 264, 266, 269, 265, 254, 267, 268, 
	254, 270, 271, 272, 254, 254, 274, 254, 
	275, 276, 277, 254, 279, 254, 281, 254, 
	282, 283, 284, 254, 286, 287, 288, 289, 
	290, 254, 292, 293, 294, 295, 254, 297, 
	299, 298, 254, 300, 254, 301, 302, 301, 
	303, 301, 301, 222, 301, 305, 233, 229, 
	305, 228
};

static const unsigned char _flux_trans_actions[] = {
	43, 0, 47, 99, 0, 1, 25, 0, 
	0, 0, 0, 0, 93, 182, 0, 0, 
	0, 0, 0, 0, 0, 0, 7, 97, 
	0, 0, 0, 0, 0, 0, 0, 7, 
	0, 0, 0, 0, 23, 95, 185, 185, 
	0, 0, 0, 101, 176, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 67, 21, 0, 1, 9, 
	0, 125, 19, 0, 0, 0, 0, 0, 
	109, 191, 194, 111, 0, 0, 0, 103, 
	0, 119, 0, 7, 33, 53, 55, 31, 
	27, 69, 29, 188, 0, 179, 179, 65, 
	0, 0, 0, 57, 59, 35, 176, 176, 
	176, 176, 176, 176, 176, 176, 176, 61, 
	0, 63, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 91, 89, 81, 
	0, 71, 116, 75, 0, 79, 0, 0, 
	7, 77, 0, 179, 179, 179, 179, 83, 
	51, 39, 87, 37, 49, 45, 85, 41, 
	73, 176, 131, 176, 176, 176, 176, 176, 
	158, 176, 176, 176, 176, 170, 176, 176, 
	140, 176, 176, 176, 173, 164, 176, 143, 
	176, 176, 176, 146, 176, 137, 176, 134, 
	176, 176, 176, 155, 176, 176, 176, 176, 
	176, 149, 176, 176, 176, 176, 152, 176, 
	176, 176, 161, 176, 167, 11, 0, 113, 
	128, 15, 17, 0, 13, 105, 0, 0, 
	107, 0
};

static const unsigned char _flux_to_state_actions[] = {
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 122, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 3, 0, 0, 
	0, 122, 0
};

static const unsigned char _flux_from_state_actions[] = {
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 5, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 5, 0, 0, 
	0, 5, 0
};

static const short _flux_eof_trans[] = {
	0, 0, 4, 4, 4, 4, 4, 4, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	24, 24, 24, 24, 24, 24, 24, 24, 
	24, 24, 24, 24, 24, 13, 38, 38, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 44, 44, 44, 44, 44, 
	44, 44, 44, 0, 205, 205, 211, 211, 
	211, 211, 211, 211, 217, 220, 220, 220, 
	220, 0, 0, 286, 287, 44, 288, 290, 
	292, 294, 294, 294, 298, 298, 292, 292, 
	292, 292, 292, 304, 307, 311, 44, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 0, 370, 371, 
	373, 0, 377
};

static const int flux_start = 234;
static const int flux_error = 0;

static const int flux_en_main_with_regex = 301;
static const int flux_en_main = 234;
static const int flux_en_string_expr = 305;


#line 147 "libflux/src/flux/scanner/scanner.rl"

int scan(
    int mode,
    const unsigned char **pp,
    const unsigned char *data,
    const unsigned char *pe,
    const unsigned char *eof,
    const unsigned char **last_newline,
    unsigned int *cur_line,
    unsigned int *token,
    unsigned int *token_start,
    unsigned int *token_start_line,
    unsigned int *token_start_col,
    unsigned int *token_end,
    unsigned int *token_end_line,
    unsigned int *token_end_col
) {
    int cs = flux_start;
    switch (mode) {
    case 0:
        cs = flux_en_main;
        break;
    case 1:
        cs = flux_en_main_with_regex;
        break;
    case 2:
        cs = flux_en_string_expr;
        break;
    }
    const unsigned char *p = *pp;
    int act;
    const unsigned char *ts;
    const unsigned char *te;
    unsigned int tok = ILLEGAL;
    const unsigned char *last_newline_before_token = *last_newline;
    unsigned int cur_line_token_start = *cur_line;

    
#line 1316 "libflux/scanner.c"
	{
	ts = 0;
	te = 0;
	act = 0;
	}

#line 185 "libflux/src/flux/scanner/scanner.rl"
    
#line 1325 "libflux/scanner.c"
	{
	int _klen;
	unsigned int _trans;
	const char *_acts;
	unsigned int _nacts;
	const unsigned char *_keys;

	if ( p == pe )
		goto _test_eof;
	if ( cs == 0 )
		goto _out;
_resume:
	_acts = _flux_actions + _flux_from_state_actions[cs];
	_nacts = (unsigned int) *_acts++;
	while ( _nacts-- > 0 ) {
		switch ( *_acts++ ) {
	case 3:
#line 1 "NONE"
	{ts = p;}
	break;
#line 1346 "libflux/scanner.c"
		}
	}

	_keys = _flux_trans_keys + _flux_key_offsets[cs];
	_trans = _flux_index_offsets[cs];

	_klen = _flux_single_lengths[cs];
	if ( _klen > 0 ) {
		const unsigned char *_lower = _keys;
		const unsigned char *_mid;
		const unsigned char *_upper = _keys + _klen - 1;
		while (1) {
			if ( _upper < _lower )
				break;

			_mid = _lower + ((_upper-_lower) >> 1);
			if ( (*p) < *_mid )
				_upper = _mid - 1;
			else if ( (*p) > *_mid )
				_lower = _mid + 1;
			else {
				_trans += (unsigned int)(_mid - _keys);
				goto _match;
			}
		}
		_keys += _klen;
		_trans += _klen;
	}

	_klen = _flux_range_lengths[cs];
	if ( _klen > 0 ) {
		const unsigned char *_lower = _keys;
		const unsigned char *_mid;
		const unsigned char *_upper = _keys + (_klen<<1) - 2;
		while (1) {
			if ( _upper < _lower )
				break;

			_mid = _lower + (((_upper-_lower) >> 1) & ~1);
			if ( (*p) < _mid[0] )
				_upper = _mid - 2;
			else if ( (*p) > _mid[1] )
				_lower = _mid + 2;
			else {
				_trans += (unsigned int)((_mid - _keys)>>1);
				goto _match;
			}
		}
		_trans += _klen;
	}

_match:
	_trans = _flux_indicies[_trans];
_eof_trans:
	cs = _flux_trans_targs[_trans];

	if ( _flux_trans_actions[_trans] == 0 )
		goto _again;

	_acts = _flux_actions + _flux_trans_actions[_trans];
	_nacts = (unsigned int) *_acts++;
	while ( _nacts-- > 0 )
	{
		switch ( *_acts++ )
		{
	case 0:
#line 10 "libflux/src/flux/scanner/scanner.rl"
	{
        // We do this for every newline we find.
        // This allows us to return correct line/column for each token
        // back to the caller.
        (*cur_line)++;
        *last_newline = p + 1;
    }
	break;
	case 4:
#line 1 "NONE"
	{te = p+1;}
	break;
	case 5:
#line 66 "libflux/src/flux/scanner/scanner.rl"
	{act = 1;}
	break;
	case 6:
#line 74 "libflux/src/flux/scanner/scanner.rl"
	{act = 4;}
	break;
	case 7:
#line 66 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = REGEX; {p++; goto _out; } }}
	break;
	case 8:
#line 18 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{
        // We do this for each newline we find in the whitespace between tokens,
        // so we can record the location of the first byte of a token.
        last_newline_before_token = *last_newline;
        cur_line_token_start = *cur_line;
    }}
	break;
	case 9:
#line 74 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ p--; {cs = 234;goto _again;} }}
	break;
	case 10:
#line 66 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = REGEX; {p++; goto _out; } }}
	break;
	case 11:
#line 69 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;}
	break;
	case 12:
#line 74 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ p--; {cs = 234;goto _again;} }}
	break;
	case 13:
#line 74 "libflux/src/flux/scanner/scanner.rl"
	{{p = ((te))-1;}{ p--; {cs = 234;goto _again;} }}
	break;
	case 14:
#line 1 "NONE"
	{	switch( act ) {
	case 1:
	{{p = ((te))-1;} tok = REGEX; {p++; goto _out; } }
	break;
	case 4:
	{{p = ((te))-1;} p--; {cs = 234;goto _again;} }
	break;
	}
	}
	break;
	case 15:
#line 81 "libflux/src/flux/scanner/scanner.rl"
	{act = 6;}
	break;
	case 16:
#line 82 "libflux/src/flux/scanner/scanner.rl"
	{act = 7;}
	break;
	case 17:
#line 83 "libflux/src/flux/scanner/scanner.rl"
	{act = 8;}
	break;
	case 18:
#line 84 "libflux/src/flux/scanner/scanner.rl"
	{act = 9;}
	break;
	case 19:
#line 85 "libflux/src/flux/scanner/scanner.rl"
	{act = 10;}
	break;
	case 20:
#line 86 "libflux/src/flux/scanner/scanner.rl"
	{act = 11;}
	break;
	case 21:
#line 87 "libflux/src/flux/scanner/scanner.rl"
	{act = 12;}
	break;
	case 22:
#line 88 "libflux/src/flux/scanner/scanner.rl"
	{act = 13;}
	break;
	case 23:
#line 89 "libflux/src/flux/scanner/scanner.rl"
	{act = 14;}
	break;
	case 24:
#line 90 "libflux/src/flux/scanner/scanner.rl"
	{act = 15;}
	break;
	case 25:
#line 91 "libflux/src/flux/scanner/scanner.rl"
	{act = 16;}
	break;
	case 26:
#line 92 "libflux/src/flux/scanner/scanner.rl"
	{act = 17;}
	break;
	case 27:
#line 93 "libflux/src/flux/scanner/scanner.rl"
	{act = 18;}
	break;
	case 28:
#line 94 "libflux/src/flux/scanner/scanner.rl"
	{act = 19;}
	break;
	case 29:
#line 95 "libflux/src/flux/scanner/scanner.rl"
	{act = 20;}
	break;
	case 30:
#line 97 "libflux/src/flux/scanner/scanner.rl"
	{act = 21;}
	break;
	case 31:
#line 98 "libflux/src/flux/scanner/scanner.rl"
	{act = 22;}
	break;
	case 32:
#line 99 "libflux/src/flux/scanner/scanner.rl"
	{act = 23;}
	break;
	case 33:
#line 100 "libflux/src/flux/scanner/scanner.rl"
	{act = 24;}
	break;
	case 34:
#line 130 "libflux/src/flux/scanner/scanner.rl"
	{act = 53;}
	break;
	case 35:
#line 79 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = COMMENT; {p++; goto _out; } }}
	break;
	case 36:
#line 101 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = TIME; {p++; goto _out; } }}
	break;
	case 37:
#line 102 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = STRING; {p++; goto _out; } }}
	break;
	case 38:
#line 104 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = ADD; {p++; goto _out; } }}
	break;
	case 39:
#line 105 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = SUB; {p++; goto _out; } }}
	break;
	case 40:
#line 106 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = MUL; {p++; goto _out; } }}
	break;
	case 41:
#line 108 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = MOD; {p++; goto _out; } }}
	break;
	case 42:
#line 109 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = POW; {p++; goto _out; } }}
	break;
	case 43:
#line 110 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = EQ; {p++; goto _out; } }}
	break;
	case 44:
#line 113 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = LTE; {p++; goto _out; } }}
	break;
	case 45:
#line 114 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = GTE; {p++; goto _out; } }}
	break;
	case 46:
#line 115 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = NEQ; {p++; goto _out; } }}
	break;
	case 47:
#line 116 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = REGEXEQ; {p++; goto _out; } }}
	break;
	case 48:
#line 117 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = REGEXNEQ; {p++; goto _out; } }}
	break;
	case 49:
#line 119 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = ARROW; {p++; goto _out; } }}
	break;
	case 50:
#line 120 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = PIPE_RECEIVE; {p++; goto _out; } }}
	break;
	case 51:
#line 121 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = LPAREN; {p++; goto _out; } }}
	break;
	case 52:
#line 122 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = RPAREN; {p++; goto _out; } }}
	break;
	case 53:
#line 123 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = LBRACK; {p++; goto _out; } }}
	break;
	case 54:
#line 124 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = RBRACK; {p++; goto _out; } }}
	break;
	case 55:
#line 125 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = LBRACE; {p++; goto _out; } }}
	break;
	case 56:
#line 126 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = RBRACE; {p++; goto _out; } }}
	break;
	case 57:
#line 127 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = COLON; {p++; goto _out; } }}
	break;
	case 58:
#line 128 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = PIPE_FORWARD; {p++; goto _out; } }}
	break;
	case 59:
#line 129 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = COMMA; {p++; goto _out; } }}
	break;
	case 60:
#line 18 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{
        // We do this for each newline we find in the whitespace between tokens,
        // so we can record the location of the first byte of a token.
        last_newline_before_token = *last_newline;
        cur_line_token_start = *cur_line;
    }}
	break;
	case 61:
#line 79 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = COMMENT; {p++; goto _out; } }}
	break;
	case 62:
#line 97 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = IDENT; {p++; goto _out; } }}
	break;
	case 63:
#line 98 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = INT; {p++; goto _out; } }}
	break;
	case 64:
#line 100 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = DURATION; {p++; goto _out; } }}
	break;
	case 65:
#line 101 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = TIME; {p++; goto _out; } }}
	break;
	case 66:
#line 107 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = DIV; {p++; goto _out; } }}
	break;
	case 67:
#line 111 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = LT; {p++; goto _out; } }}
	break;
	case 68:
#line 112 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = GT; {p++; goto _out; } }}
	break;
	case 69:
#line 118 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = ASSIGN; {p++; goto _out; } }}
	break;
	case 70:
#line 131 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = QUOTE; {p++; goto _out; } }}
	break;
	case 71:
#line 133 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;}
	break;
	case 72:
#line 98 "libflux/src/flux/scanner/scanner.rl"
	{{p = ((te))-1;}{ tok = INT; {p++; goto _out; } }}
	break;
	case 73:
#line 100 "libflux/src/flux/scanner/scanner.rl"
	{{p = ((te))-1;}{ tok = DURATION; {p++; goto _out; } }}
	break;
	case 74:
#line 101 "libflux/src/flux/scanner/scanner.rl"
	{{p = ((te))-1;}{ tok = TIME; {p++; goto _out; } }}
	break;
	case 75:
#line 131 "libflux/src/flux/scanner/scanner.rl"
	{{p = ((te))-1;}{ tok = QUOTE; {p++; goto _out; } }}
	break;
	case 76:
#line 1 "NONE"
	{	switch( act ) {
	case 0:
	{{cs = 0;goto _again;}}
	break;
	case 6:
	{{p = ((te))-1;} tok = AND; {p++; goto _out; } }
	break;
	case 7:
	{{p = ((te))-1;} tok = OR; {p++; goto _out; } }
	break;
	case 8:
	{{p = ((te))-1;} tok = NOT; {p++; goto _out; } }
	break;
	case 9:
	{{p = ((te))-1;} tok = EMPTY; {p++; goto _out; } }
	break;
	case 10:
	{{p = ((te))-1;} tok = IN; {p++; goto _out; } }
	break;
	case 11:
	{{p = ((te))-1;} tok = IMPORT; {p++; goto _out; } }
	break;
	case 12:
	{{p = ((te))-1;} tok = PACKAGE; {p++; goto _out; } }
	break;
	case 13:
	{{p = ((te))-1;} tok = RETURN; {p++; goto _out; } }
	break;
	case 14:
	{{p = ((te))-1;} tok = OPTION; {p++; goto _out; } }
	break;
	case 15:
	{{p = ((te))-1;} tok = BUILTIN; {p++; goto _out; } }
	break;
	case 16:
	{{p = ((te))-1;} tok = TEST; {p++; goto _out; } }
	break;
	case 17:
	{{p = ((te))-1;} tok = IF; {p++; goto _out; } }
	break;
	case 18:
	{{p = ((te))-1;} tok = THEN; {p++; goto _out; } }
	break;
	case 19:
	{{p = ((te))-1;} tok = ELSE; {p++; goto _out; } }
	break;
	case 20:
	{{p = ((te))-1;} tok = EXISTS; {p++; goto _out; } }
	break;
	case 21:
	{{p = ((te))-1;} tok = IDENT; {p++; goto _out; } }
	break;
	case 22:
	{{p = ((te))-1;} tok = INT; {p++; goto _out; } }
	break;
	case 23:
	{{p = ((te))-1;} tok = FLOAT; {p++; goto _out; } }
	break;
	case 24:
	{{p = ((te))-1;} tok = DURATION; {p++; goto _out; } }
	break;
	case 53:
	{{p = ((te))-1;} tok = DOT; {p++; goto _out; } }
	break;
	}
	}
	break;
	case 77:
#line 142 "libflux/src/flux/scanner/scanner.rl"
	{act = 59;}
	break;
	case 78:
#line 140 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = STRINGEXPR; {p++; goto _out; } }}
	break;
	case 79:
#line 141 "libflux/src/flux/scanner/scanner.rl"
	{te = p+1;{ tok = QUOTE; {p++; goto _out; } }}
	break;
	case 80:
#line 142 "libflux/src/flux/scanner/scanner.rl"
	{te = p;p--;{ tok = TEXT; {p++; goto _out; } }}
	break;
	case 81:
#line 142 "libflux/src/flux/scanner/scanner.rl"
	{{p = ((te))-1;}{ tok = TEXT; {p++; goto _out; } }}
	break;
	case 82:
#line 1 "NONE"
	{	switch( act ) {
	case 0:
	{{cs = 0;goto _again;}}
	break;
	case 59:
	{{p = ((te))-1;} tok = TEXT; {p++; goto _out; } }
	break;
	}
	}
	break;
#line 1829 "libflux/scanner.c"
		}
	}

_again:
	_acts = _flux_actions + _flux_to_state_actions[cs];
	_nacts = (unsigned int) *_acts++;
	while ( _nacts-- > 0 ) {
		switch ( *_acts++ ) {
	case 1:
#line 1 "NONE"
	{ts = 0;}
	break;
	case 2:
#line 1 "NONE"
	{act = 0;}
	break;
#line 1846 "libflux/scanner.c"
		}
	}

	if ( cs == 0 )
		goto _out;
	if ( ++p != pe )
		goto _resume;
	_test_eof: {}
	if ( p == eof )
	{
	if ( _flux_eof_trans[cs] > 0 ) {
		_trans = _flux_eof_trans[cs] - 1;
		goto _eof_trans;
	}
	}

	_out: {}
	}

#line 186 "libflux/src/flux/scanner/scanner.rl"

    // Update output args.
    *token = tok;

    *token_start = ts - data;
    *token_start_line = cur_line_token_start;
    *token_start_col = ts - last_newline_before_token + 1;

    *token_end = te - data;

    if (*last_newline > te) {
        // te (the token end pointer) will only be less than last_newline
        // (pointer to the last newline the scanner saw) if we are trying
        // to find a multi-line token (either string or regex literal)
        // but don't find the closing `/` or `"`.
        // In that case we need to reset last_newline and cur_line.
        *cur_line = cur_line_token_start;
        *last_newline = last_newline_before_token;
    }

    *token_end_line = *cur_line;
    *token_end_col = te - *last_newline + 1;

    *pp = p;
    return cs == flux_error;
}
